/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Montenegro
 */
import java.util.ArrayList;
import java.util.List;

public class Pila<y> extends Stack<y> {
    
    private boolean vacio;
    private List<y> arreglo;
    private String mensaje = "La pila se encuentra vacia";
    private int indice;
    
    Pila(){
        arreglo = new ArrayList<y>();
        vacio = true;
        indice = -1;
    }
        
    public void push(y thing){
        arreglo.add(thing);
        vacio = false;
        indice ++;
    }
    
    public boolean empty(){
        return vacio;
    }
    
    public y pop(){
        y cosa = null;
        if(indice < 0){
            indice = 0;
            vacio = true;
        }
        else{
            cosa = arreglo.get(indice);
            arreglo.remove(indice);
            indice --;
        }
        return cosa;
    }
    
    public y peek(){
        y item;
        item = arreglo.get(0);
        return item;
    }

    
    public void clear() {
        while(vacio = false){
            pop();
        }
    }
}

// Referencia de metodos de Stack:
// http://download.oracle.com/javase/1.4.2/docs/api/java/util/Stack.html
